//
//  NSString+OurString.h
//  DSLC
//
//  Created by gcct on 2016/11/11.
//  Copyright © 2016年 孙海琛. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (OurString)
/*
 * 获取当前版本
 */
+ (NSString *)versionName;
/*
 * 获取唯一标识
 */
+ (NSString *)getDeviceId;
/*
 * 改变字符串其中某一个范围内文字颜色以及大小
 * ourString：字符串全部内容
 * leftRange：从左开始需要改变的范围(有两个参数第一个是开始截取位置第二个参数是截取长度)
 * rightRange：从右开始需要改变的范围(有两个参数第一个是开始截取位置第二个参数是截取长度)
 * font：改变文字的大小
 * color：改变文字的颜色
 */
+(NSMutableAttributedString *)ourString:(NSString *)ourString changeStringleftRange:(NSRange)leftRange changeStringRightRange:(NSRange)rightRange changeStringFont:(CGFloat)font changeStringColor:(UIColor *)color;

/**
 添加中划线
 
 @param str str 入参
 @return 出参
 */
+(NSMutableAttributedString *)addLineString:(NSString *)str;

/**
 改变字符串中￥大小以及金额.后面大小

 @param str str 入参
 @param size 截取字符大小
 @return 出参
 */
+(NSMutableAttributedString *)updateMoneyString:(NSString *)str rangeFont:(NSInteger)size;

+(NSMutableAttributedString *)updateString:(NSString *)str rangeFont:(NSInteger)size;
//自带中划线
+(NSMutableAttributedString *)addLineString:(NSString *)str rangeFont:(NSInteger)size;

+(NSMutableAttributedString *)updateString:(NSString *)str :(NSString *)s rangeFont:(NSInteger)size;


/**
 添加下划线

 @param str 入参
 @param color 颜色值
 @return 出参
 */
+(NSMutableAttributedString *)addDownLineString:(NSString *)str color:(UIColor *)color;

/**
 改变字符串中￥大小

 @param str str 入参
 @param size 截取字符大小
 @return 出参
 */
+(NSMutableAttributedString *)updateS:(NSString *)str rangeFont:(NSInteger)size;
//+-号
+(NSMutableAttributedString *)updateS:(NSString *)str :(NSString *)s rangeFont:(NSInteger)size;
/**
 评分改变小数点后面的0大小
 
 @param str str 入参
 @param size 截取字符大小
 @return 出参
 */
+(NSMutableAttributedString *)updateScoreString:(NSString *)str rangeFont:(NSInteger)size;

//判断字符串是否包含某个字符
- (BOOL)containString:(NSString *)string;

/*
 * 设置lable文字间距
 *
 */
+(NSMutableAttributedString *)lableJianJu:(NSString *)contents lineSpacing:(float)line;
/**
 根据一定高度/宽度返回宽度/高度
 
 @param str         目标字符串
 @param font        字体字号
 @param fixedSize   固定的宽/高
 @param isWidth     是否是宽固定(用于区别宽/高)
 @return CGSize
 */
+ (CGSize)yx_calculateStringSize:(NSString *)str font:(UIFont *)font widthOrHeight:(CGFloat)fixedSize isWidth:(BOOL)isWidth;

/**
 产品详情页查看全部评价

 @param price 入参
 @return 出参
 */
+ (NSMutableAttributedString *)updateCommentNumLabel:(NSString*) price;

/**
 时间戳转换为时间
 
 @param timestamp   时间戳
 @param format      时间格式
 @return 时间
 */
+ (NSString *)yx_timestampSwitchTime:(NSInteger)timestamp andFormatter:(NSString *)format;


/**
 验证手机号

 @param phoneNum 手机号码
 @return 返回值
 */
+ (BOOL)isValidMobile:(NSString *)phoneNum;

/**
 手机号中间四位处理

 @param phone 入参
 @return 出参
 */
+ (NSString *)phoneSuit:(NSString *)phone;

/**
 设置lable内容行间距
 
 @param text 内容
 @param num 间距值
 @return 返回值
 */
+ (NSMutableAttributedString *)setLableText:(NSString *)text setLineSpacing:(NSInteger)num;


/**
 处理接口返回金额 以分为单位

 @param numP 入参
 @return 出参
 */
+(NSString *)setNumberPrice:(NSString *)numP;
//无小数点
+(NSString *)setNumberNoPointPrice:(NSString *)numP;

/**
 计算金额

 @param numP 需要计算的金额
 @param mainS 总额
 @param addOff +  -
 @return 返回金额
 */
+ (NSString *)addNumPrice:(NSString *)numP mainPrice:(NSString *)mainS addOurOff:(NSString *)addOff;

/**
 手机号打码
 
 @param phoneNum 手机号

 @return 打码后手机号
 */
+ (NSString *)codePhoneNum:(NSString *) phoneNum;

/**
 判断是否含有汉字

 @return 返回值
 */
+ (BOOL)includeChinese:(NSString *)str;

/**
 按特殊字符分割字符串
 
 @param str 传入字符串
 @param charStr 分割字符
 @return 返回数组
 */
+ (NSArray *)segmenString:(NSString *)str chara:(NSString *)charStr;

/**
 按逗号分隔图片字符串返回第一个图片地址

 @param strUrl 图片地址
 @return 返回值
 */
+ (NSString *)imgUrlByString:(NSString *)strUrl;

/**
 链接包含中文转义
 
 @param str 链接
 @return 返回值
 */
+ (NSURL *)isChinese:(NSString *)str;

/**
 判断字符串是否为nil或者空
 @param str 需要判断的字符串
 @return 返回值
 */
+ (BOOL)stringISNil:(NSString *) str;

/**
 判断字符串是否为nil(如果为nil 返回@"")

 @param str 传入字符串
 @return 返回值
 */
+ (NSString *)strIsNil:(NSString *)str;

/**
 html标签转可变字符串

 @param str 入参
 @return 返回值
 */
+ (NSAttributedString *)htmlString:(NSString *)str;

//跳转appStore
+ (void)goAppStore;

//是否包含中文
- (BOOL)isChinese;

@end
